package swing.samples.jdk6;

import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;

import swing.samples.TabComponent;

/**
 * @Title: JDK6TabComponent.java
 * @Description: TODO(添加描述)
 * @author H819
 * @date 2010-10-10
 * @version V1.0
 */
class JDK6TabComponentDemos extends JPanel implements ActionListener {
	private JTabbedPane pane;

	public JDK6TabComponentDemos(String title, JTabbedPane pane) {
		this.pane = pane;
		setOpaque(false);
		JLabel label = new JLabel(title);
		add(label);
		JButton button = new JButton("Close");
		button.setPreferredSize(new Dimension(50, 10));
		button.addActionListener(this);
		add(button);
	}

	public void actionPerformed(ActionEvent e) {
		int i = pane.indexOfTabComponent(this);
		if (i != -1)
			pane.remove(i);
	}
}

public class JDK6TabComponentDemo  {
	public static void main(String[] args) {
		JTabbedPane pane = new JTabbedPane();
		String title = "Tab";
		pane.add(title, new JLabel(title));
		pane.setTabComponentAt(0, new JDK6TabComponentDemos(title, pane));

		JFrame frame = new JFrame("Tab Component Demo");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.add(pane);
		frame.setSize(500, 200);
		frame.setVisible(true);
	}
}
